export default {
	a: {},
	canDoFast: function(e = {}) {
		if(!this.a[e.key]) {
			this.lockKey(e.key);
			e.fn && e.fn();
			if(e.time) {
				setTimeout(() => {
					e.callback && e.callback()
					this.deleteKey(e.key);
				}, e.time)
			}
		} else {
			e.fail && e.fail();
		}
	},
	deleteKey(key) {
		delete this.a[key];
	},
	lockKey(key) {
		this.a[key] = true;
	}
}